// pages/goods_detail/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    goodsData: {},
    isCollect: false
  },
  id: 0,
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.id = options.id;
    this.getGoodsDetail(this.id);
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    //获取所有页面调用栈 是一个数组 [vt,vt,vt]
    let pages = getCurrentPages();
    //通过页面调用栈函数获取当前页的vt
    let currentPage = pages[pages.length - 1];
    //通过当前页面的对象vt获取当页面上的页面参数 options
    let op = currentPage.options;
    console.log(op);
  },

  //定义一个全局商品详情数据
  goodsInfo: {},
  //获取当前商品的商品详情
  getGoodsDetail: async function (id) {
    const { data } = await wx.goodsApi.getGoodDetail(id);
    this.goodsInfo = data.message;
    // console.log(data);
    let { pics, goods_price, goods_name, goods_introduce } = data.message;
    this.setData({
      goodsData: {
        pics, goods_price, goods_name, goods_introduce
      }
    })
    //收藏按钮初始化
    let collect = wx.getStorageSync('collect') || [];
    let index = collect.findIndex(item => item.goods_id === this.goodsInfo.goods_id);
    if (index !== -1) {
      //改变样式
      this.setData({
        isCollect: true
      })
    }
  },

  //轮播图点击事件
  handlePrevewImage(e) {
    //获取所有轮播图数据的图片url地址
    let urls = this.data.goodsData.pics.map(item => item.pics_mid);
    //通过点击事件传递当前轮播图片的url地址
    let { url } = e.currentTarget.dataset;
    //展示大图预览功能
    wx.previewImage({
      urls,//所有图片列表
      current: url //当前要展示的图片   默认值: urls 的第一张
    })
  },

  //加入收藏
  handleCollect() {
    let isCollect = false
    let collect = wx.getStorageSync('collect') || [];
    console.log(collect);
    let index = collect.findIndex(item => item.goods_id === this.goodsInfo.goods_id)
    console.log(index);
    if (index !== -1) {
      // 删除
      collect.splice(index, 1)
      // 提示
      isCollect = false
      wx.showToast({
        title: "移除收藏"
      })
    } else {
      isCollect = true
      //添加商品信息到收藏数组
      collect.push(this.goodsInfo);
      wx.showToast({
        title: '收藏成功',
        icon: 'success',
        mask: true
      })
    }
    //设置收藏按钮
    this.setData({
      isCollect
    })
    wx.setStorageSync('collect', collect);
  },
  //加入购物车功能
  handleCartAdd() {
    //点击了加入购物车按钮
    let cart = wx.getStorageSync('cart') || []; //同步
    console.log("购物车数据", cart)
    //判断购物车中是否拥有当前商品信息
    //通过id获取商品是否存在购物车中,如果存在 index的值为数组下标,如果不存在 则为 -1
    let index = cart.findIndex(item => item.goods_id === this.goodsInfo.goods_id)
    if (index === -1) {
      //如果购物车中没有当前数据  将当前的商品信息加入到购物车
      this.goodsInfo.num = 1;
      this.goodsInfo.checked = true;
      cart.push(this.goodsInfo);
    } else {//如果购物车中存在当前商品
      cart[index].num++;
    }
    wx.setStorageSync('cart', cart);
    //弹出提示框
    wx.showToast({
      title: '加入购物车成功',
      icon: 'success',
      //为了防止用户疯狂点击按钮
      mask: true
    })
  }
})